﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Enums;
using Resources;
using Vallejos.Entidades.ModeloDeDatos;
using Vallejos.Excepciones;
using Vallejos.Negocio;

public partial class Seguridad_Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
            var negocio = (NegocioFacade)Session[VariablesDeSesion.NegocioFacade.ToString()];
            negocio.Desconectarse();
        }
    }
    protected void btnIngresar_Click(object sender, EventArgs e)
    {
        if(this.IsValid)
        {
            try
            {
                var negocio = (NegocioFacade)Session[VariablesDeSesion.NegocioFacade.ToString()];

                negocio.Autenticar(new Usuario() { Login = txtUsuario.Text, Password = txtPassword.Text });

                if(Request.QueryString.Get("idSolicitud") != null)
                {
                    negocio.AlmacenarEntidadEnEdicion(negocio.LeerSolicitud(Convert.ToInt32(Request.QueryString.Get("idSolicitud"))));
                    Response.Redirect("~/SolicitudesDeAnalisis/DetalleSolicitud.aspx");
                }
                else if (Request.QueryString.Get("idSolicitudPrestamo") != null)
                {
                    negocio.AlmacenarEntidadEnEdicion(negocio.LeerSolicitud(Convert.ToInt32(Request.QueryString.Get("idSolicitudPrestamo"))));
                    Response.Redirect("~/SolicitudesDePrestamo/DetalleSolicitud.aspx");
                }
                else
                    Response.Redirect("~/PanelDeAdministracion.aspx");
            }
            catch(ExcepcionNegocio ex)
            {
                var validator = new CustomValidator {IsValid = false, ErrorMessage = ex.Message};
                Page.Validators.Add(validator);
            }
            catch (Exception ex)
            {
                var validator = new CustomValidator { IsValid = false, ErrorMessage = Resource.ErrorDesconocido };
                Page.Validators.Add(validator);
            }
        }
    }
}